/*
 * @Description:局部内部类
 * 
 * @Author: rendc
 * 
 * @Date: 2025-08-06 11:21:10
 * 
 * @LastEditors: rendc
 * 
 * @LastEditTime: 2025-08-06 11:36:39
 */
public class Outer3 {
  private int num = 10;

  public void innerFun() {
    // 方法中声明的局部变量，只要在内部类中使用
    // 默认会加 final 也就是常量
    // 常量的值赋值之后不能修改
    // 从内部类引用的本地变量必须是最终变量或实际上的最终变量
    int num = 20;
    // final int num = 20;
    // 局部内部类定义在方法中
    class Inner {
      private int inner_num = 30;

      public void test() {
        System.out.println(num); // 20
        System.out.println(inner_num);
        System.out.println(this.inner_num);
        System.out.println(Outer3.this.num);
        // num = 30;
        System.out.println(num); // ?

      }
    }
    // 创建局部内部类对象
    Inner inner = new Inner();
    inner.test();// 20 30 30 10
    System.out.println(inner.inner_num); // 30
  }

}